IMS CLIENT Åë½Å µå¶óÀ̹ö

 

IMS CLIENT´Â ±¹³» »ï¼ºÀüÀÚÀÇ IMS SERVER °ú ÀÇ µ¥ÀÌÅÍ ±³È¯À» À§ÇÑ  Åë½Å µå¶óÀ̹öÀÌ´Ù.

 

ÁÖÀÇ) IMS CLIENT Åë½Å µå¶óÀ̹ö´Â Åë½Å µ¥ÀÌÅ͸¦ º¸³¾ ¶§ Åë½Å µð¹ÙÀ̽º¸¦ Enable ÇÏ°í Åë½Å Á¾·á ÈÄ Åë½Å µð¹ÙÀ̽º¸¦ Disable ÇÑ´Ù.

(¼­¹ö Ãø¿¡¼­ Åë½Å µ¥ÀÌÅ͸¦ ¹ÞÀº ÈÄ TCP/IP ¿¬°áÀ» ²÷´Â ¹æ½ÄÀ¸·Î ±¸¼ºµÇ¾î Àֱ⠶§¹®¡¦ )

 

 

1. Àб⠼³Á¤

 

<±×¸² 1>Àº IMS CLIENT Åë½Å µå¶óÀ̹ö¸¦ »ç¿ëÇÒ ¶§ÀÇ Åë½Å¼³Á¤ ¿¹ÀÌ´Ù.

 

             <±×¸² 1> IMS CLIENT µå¶óÀ̹ö Åë½Å¼³Á¤ ¿¹

 

<±×¸² 1>ÀÇ DEVICE ¼³Á¤Àº ¿¬°áµÈ Åë½ÅÆ÷Æ®( COM1 ), Åë½Å¼Óµµ( 9600 ), Parity Bit( 0 ), Data Bit( 8 ), Stop Bit( 1 )¸¦ ¼ø¼­´ë·Î Àåºñ¿¡ ¼³Á¤µÈ Åë½Å¼Óµµ¸¦ ÀÔ·ÂÇÑ´Ù.

ÇÁ·ÎÅäÄÝ ¿É¼ÇºÎ¿¡´Â String ¸Þ¸ð¸®¿¡ ÀÐÀº Åë½Å µ¥ÀÌÅ͸¦ ÀúÀåÇÒ ¸Þ¸ð¸® ¹øÁö ( 0 ),  ÀúÀå°³¼ö ( 200 )¸¦ ÄÞ¸¶·Î ±¸ºÐÇÏ¿© ÀÔ·ÂÇÒ ¼ö ÀÖ´Ù. ±âº»°ªÀº (ÀÔ·ÂÀÌ ¾øÀ» °æ¿ì) 0, 200 ÀÌ´Ù.

 

 

Àб⠼³Á¤ ¹æ¹ý

 

IMS CLIENT Åë½Å µå¶óÀ̺ê´Â µðÁöÅÐ/¾Æ³¯·Î±× Ãâ·ÂÀ¸·Î Åë½ÅÀ» ¼öÇàÇϵµ·Ï ÇÏ¿´±â ¶§¹®¿¡ Àб⠼³Á¤Àº READ, ÇÑ ÁÙ¸¸ ÀÛ¼ºÇÏ¸é µÈ´Ù.

 

 

IMS CLIENT´Â ±âº»ÀûÀ¸·Î Åë½Å ASCII Çü½ÄÀ¸·Î Åë½ÅÇÏ¿© ±â±âÀÇ ¿îÀüÁ¤º¸¸¦ ¾òÀ» ¼ö ÀÖ´Â ÀåºñÀÌ´Ù.

±×·¯¹Ç·Î IMS CLIENT Åë½Å µå¶óÀ̺ê´Â Àåºñ¿Í Åë½ÅÇÑ ¹®ÀÚ(ASCII) µ¥ÀÌÅ͸¦ Åë½Å ÇÁ·Î±×·¥ÀÇ String ¸Þ¸ð¸®¿¡ ÁöÁ¤ÇÑ ¹øÁö¿¡ ´ÙÀ½°ú °°Àº ¼ø¼­·Î º¸°üÇϵµ·Ï ÇÏ¿´´Ù.

<±×¸² 2> IMS CLIENT Åë½Å µå¶óÀ̹öÀÇ ¿É¼Ç ´ëÈ­»óÀÚ

 

 

Ãâ·Â¸í·É¿¡ ´ëÇÑ °á°ú ¹× ³»¿ë

 

IMS CLIENT Åë½Å µå¶óÀ̹ö´Â <Ç¥ 1>°ú °°Àº 3°¡Áö Ãâ·Â¸í·É¿¡ ´ëÇÑ °á°ú¸¦ ¸Þ¸ð¸®¿¡ ÀúÀåÇÑ´Ù.

¶ÇÇÑ ¹ß»ýµÈ ¿¡·¯/»óÅ ³»¿ëÀº c:\error_msg000.txt ÆÄÀÏ¿¡ º¸°üÇÑ´Ù.

 

Ãâ·Â¸í·É ¸í·É ³»¿ë ÀúÀå¹øÁö

ÀúÀå³»¿ë

IN Lot IN Ãâ·Â¹øÁö + 0

¿¡·¯ »óÅÂ

2 = Á¤»ó, 1 = ¿¡·¯ ¶Ç´Â Åë½ÅºÒ·®

OUT Lot OUT Ãâ·Â¹øÁö + 0

¿¡·¯ »óÅÂ

2 = Á¤»ó, 1 = ¿¡·¯ ¶Ç´Â Åë½ÅºÒ·®

Ãâ·Â¹øÁö + 1

±âÁؽð£

FAIL ÀÏ ¶§´Â ÀúÀå ¾ÈÇÔ

Ãâ·Â¹øÁö + 2

°æ°ú½Ã°£

FAIL ÀÏ ¶§´Â ÀúÀå ¾ÈÇÔ

CHECK Lot CHECK Ãâ·Â¹øÁö + 0

¿¡·¯ »óÅÂ

2 = Á¤»ó, 1 = ¿¡·¯ ¶Ç´Â Åë½ÅºÒ·®

Ãâ·Â¹øÁö + 1

CURE ½Ã°£

FAIL ÀÏ ¶§´Â ÀúÀå ¾ÈÇÔ

<Ç¥ 1> Ãâ·Â¸í·É¿¡ ´ëÇÑ °á°ú¸¦ ÀúÀåÇÏ´Â À§Ä¡ ¹× ³»¿ë

 

Âü°í) Åë½Å ÇÁ·Î±×·¥ÀÇ ¸Þ¸ð¸®¸¦ °­Á¦·Î OFF ½ÃÅ°´Â ¹æ¹ý : µðÁöÅÐ/¾Æ³¯·Î±× Ãâ·Âű×ÀÇ Extra1À»  #mem#  À¸·Î ¼³Á¤Çϸé ÁöÁ¤ÇÑ Åë½Å ¸Þ¸ð¸® ¹øÁö °ªÀ» °­Á¦·Î OFF ÇÒ ¼ö ÀÖ´Ù.

 

 

2. ¾²±â ¼³Á¤

Ãâ·ÂÀº SCAN File°ú »ó°ü¾øÀÌ ÄÁÆ®·Ñ·¯ÀÇ Á÷Á¢ ADDRESS¿¡ ¾´´Ù.

 

µðÁöÅÐ Ãâ·Â ¼³Á¤¹ý

µðÁöÅÐ Ãâ·ÂÀ¸·Î Àåºñ¿¡ Àбâ/¾²±â ¸í·ÉÀ» Àü´ÞÇÒ ¼ö ÀÖ´Ù.

 

µðÁöÅÐ Ãâ·Â TAG ¼³Á¤ ½Ã ÇÊ¿äÇÑ ¿ä¼Ò

1) PORT           Àåºñ¿¡ ¿¬°áµÈ Åë½Å PORT ¹øÈ£. Åë½ÅÇÁ·Î±×·¥¿¡ ¼³Á¤ÇÑ Æ÷Æ®¹øÈ£ (COM1, COM2 µîÀÇ ¹øÈ£°¡ ¾Æ´Ô)

2) STATION      »ç¿ë¾ÈÇÔ

3) Address      ÀÐÀº µ¥ÀÌÅ͸¦ ÀúÀåÇÒ ¸Þ¸ð¸® ¹øÁö.

4) Extra1          ¸í·É¾î - IN, OUT, CHECK  ( <Ç¥ 1> ÂüÁ¶ )

5) Extra2          »ç¿ë¾ÈÇÔ

 

 

Áß¿ä) IN, OUT, CHECK ÀÇ Ãâ·Â¸í·É¿¡ ´ëÇÑ ½ÇÁ¦ Àü¼ÛÇÒ ³»¿ëÀº C:\cmd_file%03d.txt (%03d ´Â Æ÷Æ®¹øÈ£)ÀÇ Ã¹ ¹ø° ÁÙ¿¡ ÀÔ·ÂÇÏ¿©¾ß ÇÑ´Ù.

             Åë½Å µå¶óÀ̹ö´Â C:\cmd_file%03d.txt ³»¿ëÀ» Àо Àü¼ÛÇÑ ÈÄ ÆÄÀÏÀ» Áö¿ì¹Ç·Î °¢ ¸í·É¿¡ ´ëÇØ °è¼ÓÇؼ­ ¸í·É³»¿ëÀ» ¸¸µé¾î¾ß ÇÑ´Ù.

             ÆÄÀÏ¿¡ ÀÔ·ÂÇÒ ³»¿ëÀº ´ÙÀ½°ú °°´Ù.

 

             ¼³ºñÀ̸§@00@»ç¹ø@Lot ID@                  ( µÎ ¹ø° 00 Àº °íÁ¤Çϰųª ƯÁ¤ÇÑ ¼ýÀÚ¸¦ ÀÔ·ÂÇصµ µÊ )

 

 

¿¹1) Port : 0  Station : 0  Address : 0000  Extra1 : IN, EXTRA2 : ºóÄ­À¸·Î ¼³Á¤ÇÏ°í ½ºÅ©¸³Æ®·Î C:\cmd_file000.txt ÀÇ Ã¹ ÁÙ¿¡ C207@00@91707083@8DH059PA@ ¶ó´Â ³»¿ëÀ» ¸¸µç ÈÄ µðÁöÅÐ Ãâ·ÂÀ» Çϸé Port 0 ¹ø¿¡ ¿¬°áµÈ IMS Àåºñ¿¡ C207@11@91707083@8DH059PA@ETX ¹®ÀÚ¿­À» Àü¼ÛÇÑ´Ù. ( ETX = 0x03 )

¶ÇÇÑ Àü¼Û°á°ú¸¦( 1 = ¿¡·¯, 2 = ¼º°ø ) 0¹øÁö WORD/FLOAT/DWORD ¸Þ¸ð¸®¿¡ ÀúÀåÇÑ´Ù. ( <Ç¥ 1> ÂüÁ¶ )

 

¿¹2) Port : 0  Station : 0  Address : 0300  Extra1 : OUT, EXTRA2 : ºóÄ­À¸·Î ¼³Á¤ÇÏ°í ½ºÅ©¸³Æ®·Î C:\cmd_file000.txt ÀÇ Ã¹ ÁÙ¿¡ C207@00@91707083@8DH059PA@ ¶ó´Â ³»¿ëÀ» ¸¸µç ÈÄ µðÁöÅÐ Ãâ·ÂÀ» Çϸé Port 0 ¹ø¿¡ ¿¬°áµÈ IMS Àåºñ¿¡ C207@21@91707083@8DH059PA@ETX ¹®ÀÚ¿­À» Àü¼ÛÇÑ´Ù. ( ETX = 0x03 )

¶ÇÇÑ Àü¼Û°á°ú¸¦( 1 = ¿¡·¯, 2 = ¼º°ø ) 300¹øÁö WORD/FLOAT/DWORD ¸Þ¸ð¸®¿¡ ÀúÀåÇÏ°í Àü¼ÛÀ» ¼º°ø Ç߰ųª CURE TIME ¹Ì¸¸ÀÏ °æ¿ì¿¡´Â 301, 302 ¹øÁö¿¡ ±âÁؽð£, °æ°ú½Ã°£À» ÀúÀåÇÑ´Ù. ( <Ç¥ 1> ÂüÁ¶ )

 

¿¹3) Port : 0  Station : 0  Address : 0250  Extra1 : CHECK, EXTRA2 : ºóÄ­À¸·Î ¼³Á¤ÇÏ°í ½ºÅ©¸³Æ®·Î C:\cmd_file000.txt ÀÇ Ã¹ ÁÙ¿¡ C207@00@91707083@8DH059PA@ ¶ó´Â ³»¿ëÀ» ¸¸µç ÈÄ µðÁöÅÐ Ãâ·ÂÀ» Çϸé Port 0 ¹ø¿¡ ¿¬°áµÈ IMS Àåºñ¿¡ C207@21@91707083@8DH059PA@ETX ¹®ÀÚ¿­À» Àü¼ÛÇÑ´Ù. ( ETX = 0x03 )

¶ÇÇÑ Àü¼Û°á°ú¸¦( 1 = ¿¡·¯, 2 = ¼º°ø ) 250¹øÁö WORD/FLOAT/DWORD ¸Þ¸ð¸®¿¡ ÀúÀåÇÏ°í Àü¼ÛÀ» ¼º°ø ÇßÀ¸¸é 251 ¹øÁö¿¡ CURE ½Ã°£À» ÀúÀåÇÑ´Ù. ( <Ç¥ 1> ÂüÁ¶ )

 

 

¾Æ³¯·Î±× Ãâ·Â ¼³Á¤¹ý

 

µðÁöÅÐ Ãâ·Â ¼³Á¤¹ý°ú µ¿ÀÏÇÏ´Ù.

 

 

3. °¨½Ã ÇÁ·Î±×·¥¿¡¼­ Å͹̳¯ È­¸é ÀÛ¼º¹ý

 

IMS CLIENT Åë½Å µå¶óÀ̹ö´Â Åë½ÅÇÑ ´ëºÎºÐÀÇ µ¥ÀÌÅÍ´Â String ¸Þ¸ð¸®¿¡ º¸°üµÇ¹Ç·Î Å͹̳¯ ¸ðµå·Î ÀåºñÀÇ »óŸ¦ È®ÀÎÇÒ ¼ö Àִµ¥ ´ÙÀ½ÀÇ ¿¹¿Í °°ÀÌ ÀÛ¼ºÇÒ ¼ö ÀÖ´Ù.

 

°¡)   String ¸Þ¸ð¸®¿¡¼­ Åë½Å µ¥ÀÌÅ͸¦ °¡Á®¿Í¼­ È­¸é¿¡ º¸¿©ÁÙ String ÅÂ±× 20°³¿Í ÀԷ±â(Edit Box)¿¡¼­ »ç¿ëÀÚ°¡ ÀÔ·ÂÇÑ ¸í·ÉÀ» Àоî¿Ã String ¸¦ ¸¸µç´Ù.

³ª)   ¸í·É¾î¸¦ Ãâ·ÂÇÒ µðÁöÅРű׸¦ °°ÀÌ ¸¸µé°í ½ºÆ©µð¿À ÇÁ·Î±×·¥À¸·Î <±×¸² 3>°ú °°Àº ¸ðµâÈ­¸éÀ» ¸¸µç´Ù.

 

 

<±×¸² 3> ¸ðµâ ÆíÁý±â(½ºÆ©µð¿À)¿¡¼­ Å͹̳¯ È­¸éÀ» ¸¸µç ¿¹

 

´Ù)   <±×¸² 3>¿¡¼­ ÀÌÀü¸í·ÉÀ» º¼ ¼ö ÀÖµµ·Ï ÀÛ¼ºÇÑ  ¹öÅÏÀº <Ç¥ 2>°ú °°Àº ½ºÅ©¸³Æ®¸¦ ¸ðµâ ½ÇÇà Áß¿¡ °è¼ÓÀ¸·Î ¸¸µé¾î ÀÌÀüÀÇ ¸í·ÉÀ» º¼ ¼ö ÀÖµµ·Ï ¼³Á¤ÇÑ´Ù.

 

 

±â ´É

³» ¿ë

Å͹̳¯ È­¸é¿¡¼­ ÀÌÀü  ¸í·ÉÀ» º¼ ¼ö ÀÖµµ·Ï ÇÔ

if(pos == $scroll_pos) return;

pos = $scroll_pos;

 

for(i = 0; i < 20; i = i+1) {

   @sprintf(tag_name, "ST_%02d.address", i);

   @SetTagValue(tag_name, pos+i);

}

<Ç¥ 2> ÀÌÀü ¸í·ÉÀ» º¼ ¼ö ÀÖµµ·Ï ¼³Á¤ÇÑ ½ºÅ©¸³Æ® ÀÛ¼º ¿¹

 

 

¶ó)   <±×¸² 3>ÀÇ ÀԷ±â(Edit Box)ÀÇ ¼Ó¼º ´ëÈ­»óÀÚÀÇ È®Àå±â´É ÅÇÀ» ¿­¾î¼­ È®Àå±â´É »ç¿ë°ú Key DownÀ» üũ( v ) ÇÏ°í Key Down ¹öÅÏÀ» ¼±ÅÃ(<±×¸² 4> ÂüÁ¶)ÇÑ´Ù.

¸¶)   Key Down ½ºÅ©¸³Æ®¸¦ <Ç¥ 3>, <±×¸² 5>¿Í °°ÀÌ ÀÛ¼ºÇÑ´Ù.

¹Ù)   ¶ÇÇÑ ÀԷ±â(Edit Box)ÀÇ ÅÂ±× ÅÇ¿¡¼­ ÀԷ±âÀÇ ³»¿ëÀ» ÀúÀåÇÒ Å±׸¦ ( STRING02 : ¿¹ ) ÁöÁ¤ÇÑ´Ù.

»ç)   À§ÀÇ ¼ø¼­·Î ¸ðµâÆÄÀÏÀ» ÀÛ¼ºÇϸé <±×¸² 6>°ú °°Àº Å͹̳¯ È­¸éÀ» ¸¸µé ¼ö ÀÖ´Ù.

 

<±×¸² 4> ÀԷ±â (Edit Box) ÀÇ ¼Ó¼º È®Àå±â´É ÅÇÀÇ ¼³Á¤È­¸é

 

 

±â ´É

³» ¿ë

ÀԷ±â(Edit Box)¿¡¼­ ¿£ÅÍÅ°(Enter)¸¦ ´­·¶À» °æ¿ì ÀÔ·ÂÇÑ ³»¿ëÀ» ÀåºñÀÇ ¸í·ÉÀ¸·Î Àü¼ÛÇÏ´Â ½ºÅ©¸³Æ® ÀÛ¼º ¿¹

retn = @KeyGetCode();

if(retn != 13) return;    // ¿£ÅÍÅ°°¡ ¾Æ´Ï¸é return

 

if(@strnicmp($STRING01, "IN", 2) == 0) lot_code = 11;

elseif(@strnicmp($STRING01, "OUT", 3) == 0) lot_code = 21;

elseif(@strnicmp($STRING01, "CHECK", 5) == 0) lot_code = 91;

else {

   @EditBoxSetText("EditBox1", "");

   return;

}

 

handle  = @FileOpen("C:\\cmd_file000.TXT", "w");

if(handle == 0) return;

 

buf[0] = 0;

 

@sprintf(buf, "%s@00@%s@%s", $MACHINE_ID, $USER_NO, $LOT_NO);

length = @strlen(buf);

if(length == 0)

   @FileWrite(handle, " ", 1);

else

   @FileWrite(handle, buf, length);

@FileClose(handle);

 

if(lot_code == 11) @sprintf($DO_EXEC.extra1, "IN");

elseif(lot_code == 21) @sprintf($DO_EXEC.extra1, "OUT");

else @sprintf($DO_EXEC.extra1, "CHECK");

$DO_EXEC = 0;

@EditBoxSetText("EditBox1", "");

<Ç¥ 3> ÀÌÀü ¸í·ÉÀ» º¼ ¼ö ÀÖµµ·Ï ¼³Á¤ÇÑ ½ºÅ©¸³Æ® ÀÛ¼º ¿¹

 

<±×¸² 5> ÀԷ±â(Edit Box)ÀÇ Key Down ½ºÅ©¸³Æ® ÀÛ¼º ¿¹

 

 

<±×¸² 6> °¨½Ã ÇÁ·Î±×·¥¿¡¼­ Å͹̳¯ È­¸éÀ» ÀÛ¼ºÇÑ ¿¹